#version 450 core

layout(location = 0) in vec3 aPostion;
layout(location = 1) in vec3 aNormal;
layout(location = 2) in vec2 aUv;
layout(location = 3) in uint aPackedData;

uniform mat4 uMVP = mat4(1);

out vec3 fragPos;
out vec2 fragUv;

void main() {
    fragPos = aPostion;
    fragUv = aUv / 16.0f;

    gl_Position = uMVP * vec4(fragPos, 1.0);
}